/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ar.edu.unicen.twitter.suggest.backend.recommendation.crawling.RecolectorDataset;

import ar.edu.unicen.twitter.suggest.backend.recommendation.crawling.NivelRecoleccion;
import ar.edu.unicen.twitter.suggest.backend.recommendation.CompararUsuarios.CompararUsuarios;
import ar.edu.unicen.twitter.suggest.backend.recommendation.CriterioUsuario.CriterioUsuario;
import ar.edu.unicen.twitter.suggest.backend.recommendation.crawling.Transicion.Transicion;
import ar.edu.unicen.twitter.suggest.commons.dtos.Usuario;
import java.util.Collection;

/**
 *
 * @author usuario
 */
class NivelAmigosDataset extends NivelRecoleccion {

    RecolecionDatasetFactory recoleccionFactory;
    private final Transicion transicion;

    public NivelAmigosDataset(RecolecionDatasetFactory recoleccionFactory, CriterioUsuario criterio2,
                            CompararUsuarios comparador, Transicion transicion,
                            int maxNivel2)
    {   super(criterio2,comparador,maxNivel2);
        this.recoleccionFactory = recoleccionFactory;
        this.transicion = transicion;
    }

    @Override
    public Collection<Usuario> getSiguientes(Usuario u) {
        Collection<Usuario> resultado = recoleccionFactory.getAmigos(u);
        return resultado;
    }
    @Override
    public Collection<Usuario> verificar(Collection<Usuario> usuarios) {
        Collection<Usuario> resultado = recoleccionFactory.verificar(usuarios);
        return resultado;
    }
    @Override
    protected double getPesoArco(Usuario origen,Usuario destino) {
        return transicion.getPeso(origen, destino);
    }
}
